Mainframe computers are powerful computers used mainly by large organizations for critical applications, typically bulk data processing, such as census, industry and consumer statistics, enterprise resource planning, financial transaction processing, etc. One popular mainframe computer is IBM® zSeries® mainframe computer. The zSeries® mainframe computer may include a plurality of processing units, including one or more general purpose processors and one or more special purpose processors, commonly referred to as z Integrated Information Processors (zIIPs). The zIIP processor is a special processor intended to offload the general processor of the mainframe computer system. These processors do not contain microcode or hardware features that accelerate their designated workload. Instead, they are financially different in that they perform increasing system capacity for targeted workloads without raising the operating system (e.g., z/OS® which is the operating system for mainframe computers produced by IBM®) and/or third party software license fees as would be the case if the workload was performed by the general processor.
While there is a desire to run code on a zIIP processor to take advantage of the increased speed and reduced license fees (if any fee applies), only enclave Service Request Block (SRB) mode code can run on zIIP processors. There are currently two types of workload, sometimes referred to as units of work (UOW), in the operating system of the zSeries® mainframe (z/OS®). These two types of workload are referred to as SRB and Task Control Block (TCB). Typically, about ten percent of the workload in a mainframe computer system is SRB with the remaining ninety percent being TCB. An enclave is a logical collection of various UOWs (TCBs and/or SRBs) represented by one or more enclave control blocks.
A general processor of the mainframe computer system is available to run all workloads (e.g., TCB or SRB) while the z/OS® operating system will only run enclave SRB type workloads on a zIIP processor. Additionally, the z/OS® operating system will only consider SRBs that are part of an enclave and only enclaves that conform to IBM's® propriety interface to be eligible for zIIP execution.
Currently, in order for programs to be used by the zIIP processor, including only a portion of the programs that contain eligible zIIP executable code, the programs have to be designed to be executed on the zIIP processor in their entirety. This approach involves restructuring the entire program code which requires knowledge of the difficult to use SRB-mode programming interfaces of the z/OS® operating system. Additionally, the restructuring process requires intensive regression testing which results in additional development cost as well as possibly introducing programming bugs that could negatively impact consumer satisfaction.
If, however, programs did not have to be entirely restructured in order for portions of its eligible zIIP executable code to be executed on the zIIP processor, then the development cost is reduced and software development productivity is improved.